1. Field of the Invention
This invention relates to the field of universal synchronous-asynchronous receiver / transmitters (UART).
2. Background Art
Computers or other processing units are often coupled to peripheral devices such as printers, communication devices, etc. A communication program executed on the host computer controls the transfer of data from the host computer to the communications device. The central processing unit (CPU) or processor of the host computer implements the transmission of the data from memory to the communications device. A processor generally receives and transmits data in parallel. However, peripheral devices generally require serial data streams. When a communication device is coupled to a computer processor, the parallel output of the computer processor is first converted to serial output and provided through a serial port to the peripheral device. The peripheral device then operates on the serial data stream. For example, if the peripheral device is a modem, the serial data stream is modulated and transmitted on a transmission line.
Many communication devices such as modems or protocol converters are "intelligent," that is, they have their own processing means built in. When such an intelligent device receives a serial data stream, it converts the serial data stream to a parallel data stream for processing. Therefore, when a computer communicates with a peripheral device through a serial port, the data stream undergoes a parallel to serial to parallel conversion. The prior art methods of this parallel to serial to parallel conversion require dedicated hardware and software. In addition, special effort is required to perform format identification (data rate, parity, etc.). Known patterns are required and formats are often limited. This conversion also limits the maximum data rate.
These communication devices perform protocol conversion, perform command interpretation, data formatting, data modification and/or electrical format conversion (such as a modem). Typically, a processor is used to supervise the conversion function, using conversion hardware. A parallel port is usually used to communicate with the computer bus. The typical method for implementing the conversion function is to provide a device to perform a standard interface to a central CPU and convert the data to a serial format. This serial data is then converted to a format for use by the device processor, which then uses yet another device to implement the protocol conversion. This method requires three conversion blocks in multiple devices with each conversion block using hardware, software and often placing restrictions on the data.
Therefore, it is an object of the present invention to provide a universal and configurable architecture for serial communications.
It is another object of the present invention to eliminate one of the conversion steps and, in particular, the serial conversion step of communication between a computer and a communication device such as a modem.
It is still another object of the present invention to provide a method and apparatus for converting parallel data and to implement protocol conversion on such data.